﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Loja.Banco;
using Loja.Controles.Aplicação;
using Loja.Aplicação;
using System.Collections;
using Loja.Padrao;

namespace Loja.Telas
{
    public partial class ConsultaUsuario : PadraoConsulta
    {
        private Controle controle;

        public ConsultaUsuario(Controle controle)
        {
            this.controle = controle;
            InitializeComponent();
        }

        private void btnNovo_Click_1(object sender, EventArgs e)
        {
            FormUsuario form = new FormUsuario(controle, new Usuario());
            form.ShowDialog(this);
            Pesquisar();
        }

        private void btnPesquisar_Click(object sender, EventArgs e)
        {
            Pesquisar();
        }

        private void Pesquisar()
        {
            if (txtDescricao.Text != "")
            {
                var usuarios = controle.ListaUsuario(txtDescricao.Text);

                if (usuarios == null)
                {

                    dgDados.DataSource = null;

                }
                else
                {
                    dgDados.DataSource = usuarios;
                }
            }
            else
            {
                var usuarios = controle.ListaUsuario();
                dgDados.DataSource = usuarios;
            }
            dgDados.Columns[0].HeaderText = "Codigo";
            dgDados.Columns[2].Visible = false;
            dgDados.Columns[4].Visible = false;
            dgDados.Columns[6].Visible = false;
            dgDados.Columns[7].Visible = false;
        }


        private void btnAbrir_Click(object sender, EventArgs e)
        {
            Abrir();
        }

        private void btnExcluir_Click(object sender, EventArgs e)
        {
            DialogResult dialogo = new DialogResult();
            dialogo = MessageBox.Show("Deseja EXCLUIR o USUÁRIO?", "Excluir Usuário", MessageBoxButtons.YesNo);
            if (dialogo.ToString() == "Yes")
            {
                if (controle.DesativarUsuario(dgDados.Rows[dgDados.CurrentRow.Index].DataBoundItem))
                {
                    MessageBox.Show("Usuário excluido com sucesso!");
                    Pesquisar();
                }
                else
                    MessageBox.Show("Problema ao excluir usuário!");
            }
        }

        public void Abrir()
        {
            try
            {
                FormUsuario frm = new FormUsuario(controle, dgDados.Rows[dgDados.CurrentRow.Index].DataBoundItem);
                frm.ShowDialog(this);
                Pesquisar();
            }
            catch
            {
                MessageBox.Show("Não foi encontrado usuario(s) para essa consulta!");
            }
        }
    }
}
